//汉诺塔
int count = 0;//定义一个全局变量count
void move(char x, char y)
{
	printf("把%c->%c\n", x, y);//意思是把x上最上面的盘子移动到y上面

	count++; //每一动一次计数器加加，最后看一下总共要移动多少次
}
void Han(int n, char a, char b, char c)
{
	if (n == 1)
		move(a, c); //如果仅有一个盘子，那么直接从A移到C
	else
	{
		Han(n - 1, a, c, b);
		move(a, c);
		Han(n - 1, b, a, c);
	}
}
int main()
{
	int n; //汉诺塔的盘子个数
	printf("请输入盘子的个数: ");
	scanf("%d", &n);
	Han(n, 'A', 'B', 'C');
	printf("一共移动的次数=%d", count);
	return 0;
}